package com.example.app.util;

import lombok.Data;

/**
 * @author wangzhuangzhuang
 * @DESC: 这个类是用于统一数据响应接口标准的。
 * 它的作用是：统一所有开发人员响应前端请求的返回结果格式，减少前后端开发人员沟通成本，
 * 是一种RESTful接口标准化的开发约定。
 * @date 2022-02-09 16:02
 */
@Data
public class AjaxResponse {
	private boolean isok;  //请求是否处理成功
	private int code; //请求响应状态码（200、400、500）
	private String message;  //请求结果描述信息
	private Object data; //请求结果数据（通常用于查询操作）

	private AjaxResponse() {
	}

	//请求成功的响应，不带查询数据（用于删除、修改、新增接口）
	public static AjaxResponse success() {
		AjaxResponse ajaxResponse = new AjaxResponse();
		ajaxResponse.setIsok(true);
		ajaxResponse.setCode(200);
		ajaxResponse.setMessage("请求响应成功!");
		return ajaxResponse;
	}

	//请求成功的响应，带有查询数据（用于数据查询接口）
	public static AjaxResponse success(Object obj) {
		AjaxResponse ajaxResponse = new AjaxResponse();
		ajaxResponse.setIsok(true);
		ajaxResponse.setCode(200);
		ajaxResponse.setMessage("请求响应成功!");
		ajaxResponse.setData(obj);
		return ajaxResponse;
	}

	//请求成功的响应，带有查询数据（用于数据查询接口）
	public static AjaxResponse success(Object obj, String message) {
		AjaxResponse ajaxResponse = new AjaxResponse();
		ajaxResponse.setIsok(true);
		ajaxResponse.setCode(200);
		ajaxResponse.setMessage(message);
		ajaxResponse.setData(obj);
		return ajaxResponse;
	}

}